<template>
  <basic-container>
    <avue-crud v-bind="bindVal" v-on="onEvent" v-model="form" :page.sync="page">
    </avue-crud>
  </basic-container>
</template>

<script>
export default window.$crudCommon(
  {
    data() {
      return {};
    },
    methods: {
      // 列表前操作方法
      listBefore() {},

      // 列表后操作方法
      listAfter() {},

      // 新增前操作方法
      addBefore() {
        this.form.createUser = 'small';
      },
      // 新增后操作方法
      addAfter() {},

      // 修改前操作方法
      updateBefore() {
        this.form.updateUser = 'small';
      },

      // 修改后操作方法
      updateAfter() {},

      // 删除前操作方法
      delBefore() {},

      // 删除后操作方法
      delAfter() {},

      getList() {
        this.loading = true;
        setTimeout(() => {
          this.loading = false;
          this.data = [
            {
              name: '张三',
              sex: '1',
              datetime: '2025-02-21',
              address: '宁波银行1'
            },
            {
              name: '李四',
              sex: '2',
              datetime: '2025-02-22',
              address: '宁波银行2'
            },
            {
              name: '王五',
              sex: '1',
              datetime: '2025-02-23',
              address: '宁波银行3'
            }
          ];
        }, 1000);
      }
    }
  },
  {
    name: 'common/crudCommon', // 模块名字
    list: 'getList', // 列表接口名字
    update: 'update', // 更新接口名字
    add: 'add', // 新增接口名字
    del: 'del', // 删除接口名字
    rowKey: 'id', // 主键
    pageNumber: 'pageNumber', // 页码
    pageSize: 'pageSize', // 页数
    res: () => {
      return {
        total: 0,
        data: []
      };
    }, // 列表的结构
    total: 'total', // 总页数
    data: 'list' // 列表属性
  }
);
</script>
<style lang="scss" scoped></style>
